总结
- 基础操作
yy:复制整行内容p:光标之后进行粘贴P:光标之前进行粘贴dd:删除整行内容D:删除当前字符至行尾cc:删除整行内容并进入insert modeC:删除当前字符至行尾并进入insert mode>>:向右缩进<<:向左缩进
- 操作加移动
dl:删除右侧字符(当前字符)dh:删除左侧字符d$:删除至行尾dG:删除至末尾3dl:删除右侧三个字符d3l:删除右侧三个字符,与上同
- 操作加文本匹配
aw: a word 包含空格iw: inner word 不含空格aW: a WORDiW: inner WORDd/c/yi<cin>: 根据输入关键词,删除/更改/复制关键词匹配项内的内容,例如()<>''内容d/c/ya<cin>: 根据输入关键词,删除/更改/复制关键词匹配项内的内容,包括关键词. 例如()<>''d/c/yit: 删除/更改/复制标签内的内容,例如:<div>aaa</div>=> 输入dit=><div></div>d/c/yat: 删除/更改/复制标签内的内容,例如:<div>aaa</div>=> 输入dat=> ``d/c/yat: 删除/更改/复制标签内的内容,例如:<div>aaa</div>=> 输入dat=> ``
- 更多扩展
u:撤销<ctrl-r>:重做/{word}<cr>:高亮搜索词。如果不需要高亮时,可使用:noh[lsearch]取消高亮n:下一个搜索N:上一个搜索
提问
- [x] 如何删除当前行并进入插入模式
cc
1. 前提提要、场景
复制粘贴、删除是十分频繁的操作,在 vim 中是如何使用的
Tip:在 vim 中可使用 :help operator 查看 operator 详细文档,使用 :help d 可查看 delete 的详细文档。
2. yank (copy) 复制
yy:复制整行内容p:光标之后进行粘贴P:光标之前进行粘贴
3. delete 删除
dd:删除整行内容D:删除当前字符至行尾
4. change 修改
cc:删除整行内容并进入insert modeC:删除当前字符至行尾并进入insert mode
5. shift 缩进
>>:向右缩进<<:向左缩进
6. operater + move 操作符+移动
以上三种操作,都可以与 move 键结合。比如 d 是删除,则
dl:删除右侧字符(当前字符)dh:删除左侧字符d$:删除至行尾dG:删除至末尾3dl:删除右侧三个字符d3l:删除右侧三个字符,与上同
7. text object 操作符+文本匹配
除此之外,结合 a/i 还可以更好地在括号、引号内工作。以下统称为 text object。
aw: a word 包含空格iw: inner word 不含空格aW: a WORDiW: inner WORDa[:a [] blocka(a<a{a"a'
具体效果如下
d/c/yi<cin>: 根据输入关键词,删除/更改/复制关键词匹配项内的内容,例如()<>''内容d/c/ya<cin>: 根据输入关键词,删除/更改/复制关键词匹配项内的内容,包括关键词. 例如()<>''d/c/yit: 删除/更改/复制标签内的内容,例如:<div>aaa</div>=> 输入dit=><div></div>d/c/yat: 删除/更改/复制标签内的内容,例如:<div>aaa</div>=> 输入dat=> ``d/c/yat: 删除/更改/复制标签内的内容,例如:<div>aaa</div>=> 输入dat=> ``
8. undo/redo/search
以下严格来说不算 vim 中的操作符(operator),但是篇幅太短放在这里。
u:撤销<ctrl-r>:重做/{word}<cr>:高亮搜索词。如果不需要高亮时,可使用:noh[lsearch]取消高亮n:下一个搜索N:上一个搜索